/*
	MIDAS Context Based Routing
	cbr_compressor.h
	Copyright (c) 2007 Radoslaw Olgierd Schoeneich
	MEAG IT PW
*/

#ifndef cbr_compressor_h_
#define cbr_compressor_h_

#include "cbr_types.h"
#include "cbr_crtable.h"
#include "cbr_address.h"
#include "cbr_context_model.h"

/**
 * HELLO message compression algorithm.
 */

struct cbr_Compressor : private cbr_Object {
public:
	virtual ~cbr_Compressor() { };
	virtual int compress(cbr_TriplesList& list,
				const cbr_ContextModel& model,
				int32_t maxLength);

private:
	int reduce(cbr_TriplesList& list, const cbr_ContextModel& model);
};


#endif	// cbr_compressor_h_
